objektorientierte Programmierung

objektorientierte Programmierung
objektorientierte Programmierung
 
[Abk. OOP], Prinzip der Programmierung, bei dem die Manipulation von sog. Objekten durch Methoden sowie die Verbindung von Objekten und deren Interaktion im Vordergrund stehen. Der Programmierer muss sich - anders als bei der imperativen Programmierung - nicht mehr hauptsächlich um die technische Realisierung der Eigenschaften und Methoden der Objekte kümmern, denn in Bibliotheken sind Klassen von Objekten gesammelt, aus denen der Programmierer für seine Aufgabe geeignete auswählt oder von diesen neue problemspezifische Objekte ableitet (bei Bedarf kann der Programmierer auch vollkommen neue Objekte erstellen). Die Programmierung reduziert sich dann in erster Linie auf die Auswahl und Konstruktion der passenden Objekte und deren sinnvolle Verbindung. Zugespitzt formuliert fragt man bei der objektorientierten Programmierung, was für Objekte welche Aufgaben erledigen sollen, und nicht, wie die einzelnen Komponenten ihre Aufträge ausführen.
 
Beispielsweise würde der Programmierer eines objektorientierten Windows-Grafikprogramms aus einer Objektbibliothek das Objekt »Menüleiste« wählen und um eigene Einträge ergänzen oder das Objekt »Maus« übernehmen und diesem neue Befehle zur Bildmanipulation hinzufügen. Er braucht sich dann nicht darum zu kümmern, auf welche Weise - im zweiten Fall - die Maus Bewegungen und Klicks in Ausgangssignale umsetzt. Er muss nur angeben, was ein bestimmter Mausklick auf ein Grafikobjekt bei diesem bewirkt. Dieser »Black-Box-Charakter« von Objekten ermöglicht es, modular aufgebaute Programme zu erstellen, bei denen sich eine Änderung an einer Stelle nur minimal auf andere Teile auswirkt. Neben dieser für die Programmentwicklung sehr vorteilhaften Eigenschaft ist die OOP auch kompatibel mit den Software-Konzepten Multithreading und Multitasking.
 
Die objektorientierte Programmierung weist folgende charakteristischen Merkmale auf:
 
- Kapselung: Die Eigenschaften eines Objekts sind im Objekt selbst verborgen. Man kann nur über im Objekt verankerte Methoden auf die Eigenschaften zugreifen und sie eventuell verändern. Einerseits werden dadurch die Objekteigenschaften geschützt, andererseits ist auch die konkrete Umsetzung der Eigenschaften und Methoden für die Außenwelt nicht von Belang.
 
- Vererbung: Aus verschiedenen Klassen können neue Klassen abgeleitet werden, welche die Eigenschaften und Methoden der Elternklassen übernehmen.
 
- Polymorphie: Dieselbe Methode kann auf unterschiedliche Objekte angewendet werden.
 
- Nachrichten: Objekte kommunizieren untereinander durch den Austausch von Nachrichten (Messages).
 
Ein objektorientiert konzipiertes Programm besteht zum einen aus der Beschreibung von Objekten und ihren Eigenschaften und zum Zweiten aus den auf sie anwendbaren Methoden. Erhält ein Objekt während des Programmablaufs eine Nachricht, so führt es daraufhin eine Aktion aus oder sendet selbst eine Nachricht an andere Objekte (oder beides). Der Code eines solchen Programms besteht - ohne die Objektdefinitionen - dann nur noch aus wenigen Schleifen, die sich oft wie »Klartext« lesen lassen:
 
Für Jeden Absatz in Dokument.Absätze
 
Wenn Nicht Absatz.Wörter(1).Text = „Fehler“
 
Dann
 
Setze Absatz.Format = Standard
 
Setze Absatz.Schrift = Times
 
Sonst
 
Absatz.löschen
 
Nächster Absatz
 
Das vorstehende Beispiel ist einer objektorientierten Textverarbeitungsmakrosprache nachempfunden, stellt aber keinen lauffähigen Code dar. Dabei ist Absatz eine Variable, die für alle Absatzobjekte steht, die in der Liste der Absätze des Dokuments enthalten sind. Die Methode Wörter(1) gibt das Objekt »erstes Wort in Absatz« zurück, die Methoden »Text« und »löschen« sind selbst erklärend. »Format« und »Schrift« schließlich sind Eigenschaften des Objekts Absatz, denen mit der Anweisung »Setze« Werte zugewiesen werden.
 
Das Konzept der objektorientierten Programmierung ist eigentlich schon recht alt, es wurde bereits in den 1970er-Jahren am Forschungsinstitut Xerox PARC in Palo Alto (Kalifornien) entwickelt. Allerdings wies auch schon die 1967 eingeführte Programmiersprache Simula wichtige Züge der Objektorientierung auf. 1981 entstand Smalltalk, die erste wirklich objektorientierte Programmiersprache. Der Durchbruch für die OOP kam aber erst Anfang der 1990er-Jahre mit dem Übergang von zeilenorientierten zu fensterorientierten Benutzeroberflächen (hauptsächlich von DOS auf Windows). Die Fensterstruktur ist hervorragend geeignet für die objektorientierte Software-Entwicklung. Heute unterscheidet man zwischen reinen objektorientierten Programmiersprachen wie Oberon oder Eiffel, die von vornherein für die OOP konzipiert waren, und sog. Hybridsprachen, die aus imperativen Vorläufern hervorgegangen sind. Zu Letzteren zählen etwa C++, neuere Versionen von Pascal sowie Visual Basic.

Universal-Lexikon. 2012.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Objektorientierte Programmierung — Die objektorientierte Programmierung (kurz OOP) ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Die Grundidee dabei ist, Daten und Funktionen, die auf diese Daten angewandt werden können, möglichst eng in einem… …   Deutsch Wikipedia

  • objektorientierte Programmierung — im Gegensatz zur prozeduralen Programmierung, bei der Daten, Prozeduren und Funktionen getrennt betrachtet werden, fasst man sie bei der o.P. zu einem Objekt zusammen. Objekte sind nicht nur passive Strukturen, sondern aktive Elemente, die durch… …   Lexikon der Economics

  • Vererbung (objektorientierte Programmierung) — Vererbung dargestellt mittels UML. Die abgeleitete Klasse hat die Attribute x und y und verfügt über die Methoden a und b (im UML Sprachgebrauch Operationen a und b). Die Vererbung (engl. Inheritance) ist eines der grundlegenden Konzepte der… …   Deutsch Wikipedia

  • Methode (objektorientierte Programmierung) — Die objektorientierte Programmierung (kurz OOP) ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma. Die Grundidee der objektorientierten Programmierung ist, Daten und Funktionen, die auf diese Daten angewandt werden… …   Deutsch Wikipedia

  • Kapselung (objektorientierte Programmierung) — Die Objektorientierung, kurz OO, ist ein Ansatz zur Entwicklung von Software, der darauf beruht, die zu verarbeitenden Daten anhand ihrer Eigenschaften und der möglichen Operationen zu klassifizieren. Im Vergleich zu Ansätzen, bei denen… …   Deutsch Wikipedia

  • Schnittstelle (objektorientierte Programmierung) — In der objektorientierten Programmierung (OOP) vereinbaren Schnittstellen (engl. Interface) gemeinsame Signaturen von Methoden oder Funktionen, welche in unterschiedlichen Klassen implementiert werden. Die Schnittstelle gibt an, welche Methoden… …   Deutsch Wikipedia

  • Klasse (objektorientierte Programmierung) — Klasse ist in der Objektorientierung ein abstrakter Oberbegriff für die Beschreibung der gemeinsamen Struktur und des gemeinsamen Verhaltens von realen Objekten (Klassifizierung) im Softwaredesign: reale Objekte werden auf die für die Software… …   Deutsch Wikipedia

  • Überschreiben (objektorientierte Programmierung) — Der Begriff Überschreiben (engl. override, wörtlich außer Kraft setzen, überwinden) beschreibt eine Technik in der objektorientierten Programmierung, die es einer Unterklasse erlaubt, eine eigene Implementierung einer von der Oberklasse geerbten… …   Deutsch Wikipedia

  • Aggregation (objektorientierte Programmierung) — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Eine Aggregation in der Informatik ist entweder eine Verbindung… …   Deutsch Wikipedia

  • Objektorientierte Analyse und Design — (OOAD) sind objektorientierte Varianten der zwei allgemeinen Phasen Definition (Objektorientierte Analyse) und Architektur (Objektorientiertes Design) im Entwicklungsprozess eines Softwaresystems. Eine Möglichkeit zur Dokumentation von OOAD ist… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”